﻿using System;
namespace Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.AnnaIsikuKvalifikatsioonid {
    
    
    public partial class SyydistusPunkt : global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.AnnaIsikuKvalifikatsioonid.ISyydistusPunkt {
        
        private long @__objektID;
        
        private long @__lahendKL;
        
        private System.DateTime @__lahendiKP;
        
        private System.DateTime? @__algusKP;
        
        private System.DateTime? @__loppKP;
        
        private System.Collections.Generic.List<global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.AnnaIsikuKvalifikatsioonid.IKvalifikatsiooniParagrahv> @__kvalifikatsiooniParagrahvid = new System.Collections.Generic.List<global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.AnnaIsikuKvalifikatsioonid.IKvalifikatsiooniParagrahv>();
        
        private System.DateTime? @__sulgemiseKP;
        
        private string @__syydistusPunktCSV;
        
        private string @__klientsysteemiID;
        
        public SyydistusPunkt() {
        }
        
        /// <summary>
        /// All parameters
        /// </summary>
        public SyydistusPunkt(long @objektID, long @lahendKL, System.DateTime @lahendiKP, System.DateTime? @algusKP, System.DateTime? @loppKP, System.Collections.Generic.List<global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.AnnaIsikuKvalifikatsioonid.IKvalifikatsiooniParagrahv> @kvalifikatsiooniParagrahvid, System.DateTime? @sulgemiseKP, string @syydistusPunktCSV, string @klientsysteemiID) {
            this.@__objektID = @objektID;
            this.@__lahendKL = @lahendKL;
            this.@__lahendiKP = @lahendiKP;
            this.@__algusKP = @algusKP;
            this.@__loppKP = @loppKP;
            this.@__kvalifikatsiooniParagrahvid = @kvalifikatsiooniParagrahvid;
            this.@__sulgemiseKP = @sulgemiseKP;
            this.@__syydistusPunktCSV = @syydistusPunktCSV;
            this.@__klientsysteemiID = @klientsysteemiID;
        }
        
        /// <summary>
        /// Required parameters
        /// </summary>
        public SyydistusPunkt(long @objektID, long @lahendKL, System.DateTime @lahendiKP, System.Collections.Generic.List<global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.AnnaIsikuKvalifikatsioonid.IKvalifikatsiooniParagrahv> @kvalifikatsiooniParagrahvid) {
            this.@__objektID = @objektID;
            this.@__lahendKL = @lahendKL;
            this.@__lahendiKP = @lahendiKP;
            this.@__kvalifikatsiooniParagrahvid = @kvalifikatsiooniParagrahvid;
        }
        
        /// <summary>
        /// Copy Constructor
        /// </summary>
        protected SyydistusPunkt(ISyydistusPunkt @syydistusPunkt) {
            this.@__objektID = @syydistusPunkt.ObjektID;
            this.@__lahendKL = @syydistusPunkt.LahendKL;
            this.@__lahendiKP = @syydistusPunkt.LahendiKP;
            this.@__algusKP = @syydistusPunkt.AlgusKP;
            this.@__loppKP = @syydistusPunkt.LoppKP;
            this.@__kvalifikatsiooniParagrahvid = @syydistusPunkt.KvalifikatsiooniParagrahvid;
            this.@__sulgemiseKP = @syydistusPunkt.SulgemiseKP;
            this.@__syydistusPunktCSV = @syydistusPunkt.SyydistusPunktCSV;
            this.@__klientsysteemiID = @syydistusPunkt.KlientsysteemiID;
        }
        
        public virtual long ObjektID {
            get {
                return this.@__objektID;
            }
            set {
                this.@__objektID = value;
            }
        }
        
        public virtual long LahendKL {
            get {
                return this.@__lahendKL;
            }
            set {
                this.@__lahendKL = value;
            }
        }
        
        public virtual System.DateTime LahendiKP {
            get {
                return this.@__lahendiKP;
            }
            set {
                this.@__lahendiKP = value;
            }
        }
        
        public virtual System.DateTime? AlgusKP {
            get {
                return this.@__algusKP;
            }
            set {
                this.@__algusKP = value;
            }
        }
        
        public virtual System.DateTime? LoppKP {
            get {
                return this.@__loppKP;
            }
            set {
                this.@__loppKP = value;
            }
        }
        
        public virtual System.Collections.Generic.List<global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.AnnaIsikuKvalifikatsioonid.IKvalifikatsiooniParagrahv> KvalifikatsiooniParagrahvid {
            get {
                return this.@__kvalifikatsiooniParagrahvid;
            }
            set {
                this.@__kvalifikatsiooniParagrahvid = value;
            }
        }
        
        public virtual System.DateTime? SulgemiseKP {
            get {
                return this.@__sulgemiseKP;
            }
            set {
                this.@__sulgemiseKP = value;
            }
        }
        
        public virtual string SyydistusPunktCSV {
            get {
                return this.@__syydistusPunktCSV;
            }
            set {
                this.@__syydistusPunktCSV = value;
            }
        }
        
        public virtual string KlientsysteemiID {
            get {
                return this.@__klientsysteemiID;
            }
            set {
                this.@__klientsysteemiID = value;
            }
        }
    }
}
